﻿using System;
using System.Data;
using System.Collections.Generic;

using Bus.Model;
namespace Bus.Bll
{
	/// <summary>
	/// 乘客人员信息表
	/// </summary>
	public partial class tb_custom
	{
		private readonly Bus.Dal.tb_custom dal=new Bus.Dal.tb_custom();
		public tb_custom()
		{}
		#region  Method

		/// <summary>
		/// 得到最大ID
		/// </summary>
		public int GetMaxId()
		{
			return dal.GetMaxId();
		}
        public int Lost(int cid, bool status)
        {
            return dal.Lost(cid, status);
        }
		/// <summary>
		/// 是否存在该记录
		/// </summary>
		public bool Exists(string name)
		{
			return dal.Exists(name);
		}

        public bool CusLogin(string name, string pass)
        {
            return dal.LoginCus(name, pass);
        }
		/// <summary>
		/// 增加一条数据
		/// </summary>
		public int  Add(Bus.Model.CustomModel model)
		{
			return dal.Add(model);
		}

		/// <summary>
		/// 更新一条数据
		/// </summary>
		public bool Update(Bus.Model.CustomModel model)
		{
			return dal.Update(model);
		}

		/// <summary>
		/// 删除一条数据
		/// </summary>
		public bool Delete(int cid)
		{
			
			return dal.Delete(cid);
		}
		/// <summary>
		/// 删除一条数据
		/// </summary>
		public bool DeleteList(string cidlist )
		{
			return dal.DeleteList(cidlist );
		}

		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public Bus.Model.CustomModel GetModel(int cid)
		{
			
			return dal.GetModel(cid);
		}

		/// <summary>
		/// 得到一个对象实体，从缓存中
		/// </summary>
        //public Bus.Model.CustomModel GetModelByCache(int cid)
        //{
			
        //    string CacheKey = "tb_customModel-" + cid;
        //    object objModel = Maticsoft.Common.DataCache.GetCache(CacheKey);
        //    if (objModel == null)
        //    {
        //        try
        //        {
        //            objModel = dal.GetModel(cid);
        //            if (objModel != null)
        //            {
        //                int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt("ModelCache");
        //                Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);
        //            }
        //        }
        //        catch{}
        //    }
        //    return (Bus.Model.CustomModel)objModel;
        //}

		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetList(string strWhere)
		{
			return dal.GetList(strWhere);
		}
		/// <summary>
		/// 获得前几行数据
		/// </summary>
		public DataSet GetList(int Top,string strWhere,string filedOrder)
		{
			return dal.GetList(Top,strWhere,filedOrder);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<Bus.Model.CustomModel> GetModelList(string strWhere)
		{
			DataSet ds = dal.GetList(strWhere);
			return DataTableToList(ds.Tables[0]);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<Bus.Model.CustomModel> DataTableToList(DataTable dt)
		{
			List<Bus.Model.CustomModel> modelList = new List<Bus.Model.CustomModel>();
			int rowsCount = dt.Rows.Count;
			if (rowsCount > 0)
			{
				Bus.Model.CustomModel model;
				for (int n = 0; n < rowsCount; n++)
				{
					model = new Bus.Model.CustomModel();
					if(dt.Rows[n]["cid"]!=null && dt.Rows[n]["cid"].ToString()!="")
					{
						model.cid=int.Parse(dt.Rows[n]["cid"].ToString());
					}
					if(dt.Rows[n]["logid"]!=null && dt.Rows[n]["logid"].ToString()!="")
					{
						model.logid=int.Parse(dt.Rows[n]["logid"].ToString());
					}
					if(dt.Rows[n]["tb__id"]!=null && dt.Rows[n]["tb__id"].ToString()!="")
					{
						model.tb__id=int.Parse(dt.Rows[n]["tb__id"].ToString());
					}
					if(dt.Rows[n]["cname"]!=null && dt.Rows[n]["cname"].ToString()!="")
					{
					model.cname=dt.Rows[n]["cname"].ToString();
					}
					if(dt.Rows[n]["password"]!=null && dt.Rows[n]["password"].ToString()!="")
					{
					model.password=dt.Rows[n]["password"].ToString();
					}
					if(dt.Rows[n]["id"]!=null && dt.Rows[n]["id"].ToString()!="")
					{
					model.id=dt.Rows[n]["id"].ToString();
					}
					if(dt.Rows[n]["sex"]!=null && dt.Rows[n]["sex"].ToString()!="")
					{
						model.sex=int.Parse(dt.Rows[n]["sex"].ToString());
					}
					if(dt.Rows[n]["age"]!=null && dt.Rows[n]["age"].ToString()!="")
					{
						model.age=int.Parse(dt.Rows[n]["age"].ToString());
					}
					if(dt.Rows[n]["idnum"]!=null && dt.Rows[n]["idnum"].ToString()!="")
					{
					model.idnum=dt.Rows[n]["idnum"].ToString();
					}
					if(dt.Rows[n]["islost"]!=null && dt.Rows[n]["islost"].ToString()!="")
					{
						if((dt.Rows[n]["islost"].ToString()=="1")||(dt.Rows[n]["islost"].ToString().ToLower()=="true"))
						{
						model.islost=true;
						}
						else
						{
							model.islost=false;
						}
					}
					if(dt.Rows[n]["ctype"]!=null && dt.Rows[n]["ctype"].ToString()!="")
					{
						model.ctype=int.Parse(dt.Rows[n]["ctype"].ToString());
					}
					if(dt.Rows[n]["regdate"]!=null && dt.Rows[n]["regdate"].ToString()!="")
					{
						model.regdate=DateTime.Parse(dt.Rows[n]["regdate"].ToString());
					}
					if(dt.Rows[n]["coastid"]!=null && dt.Rows[n]["coastid"].ToString()!="")
					{
						model.coastid=int.Parse(dt.Rows[n]["coastid"].ToString());
					}
					if(dt.Rows[n]["cardnumber"]!=null && dt.Rows[n]["cardnumber"].ToString()!="")
					{
					model.cardnumber=dt.Rows[n]["cardnumber"].ToString();
					}
					if(dt.Rows[n]["routeid"]!=null && dt.Rows[n]["routeid"].ToString()!="")
					{
						model.routeid=int.Parse(dt.Rows[n]["routeid"].ToString());
					}
					modelList.Add(model);
				}
			}
			return modelList;
		}

		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetAllList()
		{
			return GetList("");
		}

		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		public int GetRecordCount(string strWhere)
		{
			return dal.GetRecordCount(strWhere);
		}
		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
		{
			return dal.GetListByPage( strWhere,  orderby,  startIndex,  endIndex);
		}
		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		//public DataSet GetList(int PageSize,int PageIndex,string strWhere)
		//{
			//return dal.GetList(PageSize,PageIndex,strWhere);
		//}

		#endregion  Method
	}
}

